home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 22
/
CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso
/
PowerPC
/
Programming
/
PPCsiod
/
SIOD
/
Exp-Imp.scm
< prev
next >
Wrap
Text File
|
1993-09-22
|
1KB
|
28 lines
(define (implode x)
(define y "")
(while (not (atom? x))
(cond ((string? (car x))
(set! y (string-append y
(make-string 1 (string-ref (car x) 0)))))
((symbol? (car x))
(set! y (string-append y
(make-string 1 (integer->char (symbol->ASCII (car x)))))))
((integer? (car x))
(set! y (string-append y
(make-string 1 (integer->char (car x))))))
(else (error "arg to implode must be a symbol or a string or an integer" (car x))))
(set! x (cdr x)))
(string->symbol y))
(define (explode x)
(cond ((symbol? x) (set! x (symbol->string x)))
((integer? x) (set! x (integer->string x 10)))
((string? x))
(else (error "arg to explode must be a symbol or a string or an integer" x)))
(do ((i 0 (1+ i))
(res nil))
((= i (string-length x)) (reverse! res))
(set! res
(cons (string->symbol (make-string 1 (string-ref x i)))
res))))